<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>
    <script>
        // forEach循环 类似for循环
        // 1.forEach 有些伪数组没有这个方法 。数组一定有forEach方法。
        // 如果伪数组没有 forEach方法 ，可以把伪数组转成 数组 
        // 方式一 ： [...伪数组]；  方式二 ： Array.from("伪数组");
        // var lis = document.getElementsByTagName("li");
        // // console.log(lis);
        // // 通过 Array.from("伪数组");
        // // console.log( Array.from(lis))
        // Array.from(lis).forEach(function(item){
        //     item.onclick = function(){
        //         console.log("点击了");
        //     }
        // })


        // lis.forEach(function(item){
        //     item.onclick = function(){
        //         console.log(111);
        //     }
        // })
        // var lisArr = [...lis]
        // console.log(lisArr);
        // [...lis].forEach(function(item){
        //     item.onclick = function(){
        //         console.log("点击了");
        //     }
        // })
             // 自执行函数 
        // (function (){
        //     console.log("hello")
        // })();
        // (function (){
        //     console.log("world")
        // })();


        // 2.forEach 不能被  break ； continue ；
        // var arr = ["张三","李四","王五"];
        // arr.forEach(function(item,key){
        //     console.log(item);
        //     if(key==1){
        //         continue;
        //         // break;
        //     }
        // })


        // 3.forEach里的this ,forEach里的this执行window
        // var arr = ["张三","李四","王五"];
        // document.onclick = function(){
        //     console.log(this);
        //     arr.forEach(function(item){
        //         console.log(item);
        //         console.log(this);
        //     })
        // }


        // 4.myForEach  的实现 ；

        Array.prototype.myForEach = function(cb){
            console.log("123");
            // console.log(this);
            for(var i=0;i<this.length;i++){
                cb(this[i],i,this);
            }
        }
        // var arr = ["张三","李四","王五"];
        var arr = new Array("张三","李四","王五");
        arr.myForEach(function(item,key,arr){
            console.log(item,key,arr);
        });
    </script>
</body>
</html>